The statements in this section merely provide background information related to the present disclosure and may or may not constitute prior art.
Health monitor testing systems are typically used to check for errors that are produced by the hardware or software of a computing system's microprocessor. The testing system includes a test suite that performs a sequence of tests to monitor different parameters of the microprocessor. Determining which tests to include in the testing sequence is an important factor to consider when designing a test suite, as performing too many tests can be potentially costly and wastes computer memory as well as CPU throughput. At the same time, it is desirable to provide a testing system that can be reusable depending on the type of microprocessor that is to be tested.
The test suite can include multiple tests, where each test monitors a parameter of the microprocessor. Different types of tests are included with the test suite depending on the type of microprocessor that is utilized. For example, a body control module will typically include different tests when compared to a battery contact module. In one approach, the test suite only includes the tests that are common between the different microprocessors. However, when using this approach each microprocessor is left to determine how to implement the remaining tests that are not included with the test suite. In an alternative example, a superset of tests are stored in memory, where the superset of tests encompass all the different tests that are used for different microprocessors. For example, the test suite could include all of the tests needed for both the body control module as well as the battery contact module. However this approach results in unnecessary tests performed on both the microprocessors.
While current health monitor testing systems achieve their intended purpose, there is a need for a new and improved testing system which exhibits improved performance from the standpoint of reusability and also reduces wasted computer memory and CPU throughput.